The present invention relates to a communication device which sends transmission data including an identifier to other communication device, via a plurality of different communication paths, an operating program in the communication device, and a communication method thereof.
As information technology penetrates into key business operations in corporations and organizations, both volume and importance of electronic data possessed by the corporations and organizations are on the increase. It is necessary to hold an accurate copy of the data so that the possessed data can be protected and restored immediately, in the case where a large scale disaster such as an earthquake, power outage and terrorism has occurred.
Usually, in such a process of data copying as described above, a remote copy technique is employed among a plurality of storage devices which store data, and data in one storage device is copied to the other storage device or devices. Those plurality of storage devices are respectively installed at sites, being some distance geographically away from one another (for example, hundreds of miles), so as to localize the damage of disaster. At each site, in addition to the storage device for storing data, there is installed a computer (hereinafter referred to as a “host”) for accessing the storage device. A leased line, a wide area Ethernet, or a Wide Area Network (WAN), for example, the Internet, establishes connection among each site. Generally in this remote copy technique, a storage device which stores an original of data is referred to as “master storage device”, a host which is connected to the master storage device is referred to as “master host”, and a site where the master storage device and the master host are installed is referred to as “master site”. In addition, a storage device which stores a copy of data is referred to as “remote storage device”, a host which is connected to the remote storage device is referred to as “remote host”, and a site where the remote storage device and the remote host are installed is referred to as “remote site”.
This sort of remote copy as described above may include synchronous remote copy and asynchronous remote copy. Differences therebetween is found in a process from when the master storage device receives a write processing request from the master host until when the master storage device responds to the master host. In the synchronous remote copy, when the master storage device receives the write processing request from an application such as a database of the master host, the master storage device firstly copies the write data to the remote storage device, and then responds to the host. On the other hand, in the asynchronous remote copy, when the master storage device receives the write processing request from the master host, the master storage device saves the write data in the memory thereof, and immediately thereafter responds to the master host. Subsequently, the master storage device copies the write data thus saved in the memory to the remote storage device, and erases the saved data.
Usually, in order to prevent a loss of important data, a protocol which ensures reliability, such as TCP (Transmission Control Protocol)/IP (Internet Protocol), is utilized in the intersite communication in the remote copy system. The TCP/IP is described in “iSCSI: The Universal Storage Connection”, authored by John L. Hufferd, published by Addison-Wesley, 2003, P.52–55, FIG. 4-3. Specifically, in the TCP/IP, a send side device holds a copy of transmission data in a memory, and repeats retransmission until the send side device receives acknowledgement of receipt from a receive side device, thereby assuring reliability.
However, in the TCP/IP communication, there is a case that the remote copy data may stagnate due to a property of congestion control of Transmission Control Protocol as described in RFC2581 (pages 3 to 7). That is, the TCP has a property that at a time when packet discarding occurs, associated with a congestion in a network or a failure in any of the devices configuring the network (switches, routers and the like configuring the LAN or WAN), a send side device drastically reduces a transmission rate, and thereafter retransmits the packet. With this property, throughput degradation due to the transmission rate reduction and response time increase by retransmitting the packet may occur at the time of congestion and/or failure. Such throughput degradation and/or response time increase as described above may cause the remote copy communications to stagnate.
When the remote copy communications stagnates, a response from the master storage device to the master host, as to a write processing request from the master host, may be delayed and there is a possibility that the application of the master host may be suspended. Specifically, in the synchronous remote copy as described above, since the master storage device responds to the master host after the remote copy is carried out, stagnation of the remote copy communication may cause a stagnation of the response to the master host.
On the other hand, in asynchronous remote copy, when the remote copy communication stagnates, data transmission amount is reduced, and the memory of the master storage device may be saturated with non erased data. As a result, the data cannot be saved in the memory any more, and responding to the master host may be stagnated. If such stagnation occurs in responding to the master host, write processing cannot be completed and timeout may occur in critical applications such as database, which are executed by the master host, and there is a possibility that those applications are suspended.
In view of the situations above, it is important to provide a technique for preventing a stagnation of remote copy communication in the intersite communications in the remote copy system, the stagnation being caused by the throughput degradation and response time increase due to a property of TCP/IP at the time of network congestion and/or failure.
A technique for handling a failure in equipment constituting a network is described, for example, in the Japanese Patent Laid-Open Publication No. 2003-124964 (FIG. 1, FIG. 3), as the following. This technique comprises a method which implements redundancy in a network line, by employing a control device (for example, a device in which redundancy is implemented by use of a plurality of Ethernet lines of 10/100 Mbps, which will be referred to as “line redundant device”, hereinafter), for providing an upper level layer (e.g., applications) with physically multiple network lines functioning as a logically one line. With this method, at the time of sending, failure information of the entire network lines under control is firstly referred to, and then, identical data is transmitted to all the lines where no failure has occurred. On the other hand, at the time of receiving, the upper level layer (application) is notified of one of a plurality of identical data items (generally, the earliest arriving normal data item), which are received from multiple network lines, and the other identical data items are discarded.